package com.imchen.cms.cmscore.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author imchen
 * @create: 2019-02-21 11:32
 **/
public interface BaseMapper<T> {
    int deleteByPrimaryKey(Integer id);

    int insert(T record);

    int insertSelective(T record);

    T selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(T record);

    int updateByPrimaryKey(T record);

    List<T> selectPage(@Param("currentIndex") Integer currentIndex, @Param("pageSize") Integer pageSize);

    int deleteByPrimaryKeyLogic(@Param("id") Integer id, @Param("isDelete") Integer isDelete);

    List<T> selectAllByTags(@Param("tags") String tags);
}